Matthias Clasen [Fri, 6 Jun 2014 21:05:21 +0000 (17:05 -0400)]
GtkTooltip: remove hardcoded tooltip drawing
This is old code from dating back many years. Nowadays, we can
just use css drawing and csd windows to achieve much the same
effect.
Themes will need some adjustment for this change.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Sat, 7 Jun 2014 01:30:55 +0000 (21:30 -0400)]
Request csd for menus
Use the new private GtkWindow api to request
client-side decorations for menus.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 23:06:15 +0000 (19:06 -0400)]
GtkMenu: Add a separate style class to the toplevel of menus
This is necessary in order to use .window-frame.csd.popup for
styling csd menus.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 22:00:36 +0000 (18:00 -0400)]
GtkMenu: take csd shadows into account for placement
When placing menus, we don't want the shadow to influence
our choice.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:59:38 +0000 (17:59 -0400)]
Allow csd for override-redirect windows
This commit makes it possible to use client-side decorations for
override-redirect windows by calling _gtk_window_request_csd()
before realizing the window. Since the wm won't do interactive
resizing for us in this case anyway, don't bother creating
the border windows we use for this purpose on regular toplevels.
To make this accessible to themes, we set a "csd" style class
on client-side decorated windows. With this, .window-frame.csd.menu
can be used to define the shadow for csd menus, and .menu can be
used to define a border for menus under non-composited wms.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:53:50 +0000 (17:53 -0400)]
Add a csd style class
This will be used for client-side decorated windows.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Mon, 9 Jun 2014 17:51:58 +0000 (13:51 -0400)]
GtkViewport: Don't do silly things in a setter
Just queue a resize instead of fiddling with the size allocation.
Matthias Clasen [Mon, 9 Jun 2014 17:42:07 +0000 (13:42 -0400)]
Mark GtkStyleContext::direction as deprecated
The setter was deprecated a while ago, do the same for the property.
Matthias Clasen [Mon, 9 Jun 2014 17:39:38 +0000 (13:39 -0400)]
Mark GtkContainer::resize-mode as deprecated
The setter was deprecated a while ago, do the same for the property.
Matthias Clasen [Mon, 9 Jun 2014 16:47:45 +0000 (12:47 -0400)]
Add a test for property notification
This tests just a few basic things for now. Mainly, that we don't
emit redundant notifications for enum, flags, int and boolean
properties. It also checks that we do emit the expected notifications
when the value actually changes. This is checked for string, double
and float properties as well.
There is a large number of exceptions in the test, and a lot more
checks that could be done. One class of exceptions is all the places
where we have -set booleans to go along with another property. We
should have a dedicated test for these pairs. Another class of
exceptions is where naked objects created by g_object_new () just
don't have the full functionality - e.g. a tree selection without
a tree view does not work very well. We set up the instance object
better for these situations.
Matthias Clasen [Mon, 9 Jun 2014 15:51:12 +0000 (11:51 -0400)]
GtkVolumeButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:55 +0000 (11:50 -0400)]
GtkViewport: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:22 +0000 (11:50 -0400)]
GtkTreeViewColumn: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:05 +0000 (11:50 -0400)]
GtkTreeView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:45 +0000 (11:49 -0400)]
GtkTreeSelection: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:22 +0000 (11:49 -0400)]
GtkToolPalette: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:01 +0000 (11:49 -0400)]
GtkToolItemGroup: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:40 +0000 (11:48 -0400)]
GtkToolbar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:24 +0000 (11:48 -0400)]
GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:09 +0000 (11:48 -0400)]
GtkSwitch: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:44:22 +0000 (09:44 -0400)]
GtkToolItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:44:09 +0000 (09:44 -0400)]
GtkToolButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:43:49 +0000 (09:43 -0400)]
GtkToggleToolButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:42:05 +0000 (09:42 -0400)]
GtkStyleContext: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:48 +0000 (09:41 -0400)]
GtkStatusIcon: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:26 +0000 (09:41 -0400)]
GtkSpinner: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:09 +0000 (09:41 -0400)]
GtkSpinButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:40:55 +0000 (09:40 -0400)]
GtkSizeGroup: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:40:06 +0000 (09:40 -0400)]
GtkSeparatorToolItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:39:53 +0000 (09:39 -0400)]
GtkSearchBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:36:47 +0000 (09:36 -0400)]
GtkSearchBar: Handle lack of an entry
We were not dealing with the possibility of priv->entry being
NULL in all places.
Matthias Clasen [Mon, 9 Jun 2014 13:28:39 +0000 (09:28 -0400)]
GtkSeparator: Explicitly notify orientation
Matthias Clasen [Mon, 9 Jun 2014 13:27:07 +0000 (09:27 -0400)]
GtkScrolledWindow: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:25:19 +0000 (09:25 -0400)]
GtkScrollable: Use G_PARAM_EXPLICIT_NOTIFY
Implementors will have to be adjusted.
Matthias Clasen [Mon, 9 Jun 2014 13:22:05 +0000 (09:22 -0400)]
GtkScaleButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:50 +0000 (09:21 -0400)]
GtkScale: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:28 +0000 (09:21 -0400)]
GtkRecentChooserMenu: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:11 +0000 (09:21 -0400)]
GtkRange: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:20:55 +0000 (09:20 -0400)]
GtkProgressbar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:19:41 +0000 (09:19 -0400)]
GtkPrintOperation: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:17:43 +0000 (09:17 -0400)]
GtkPopover: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:16:06 +0000 (09:16 -0400)]
GtkPaned: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:15:39 +0000 (09:15 -0400)]
GtkNotebook: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:07:18 +0000 (09:07 -0400)]
GtkMessageDialog: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:07:04 +0000 (09:07 -0400)]
GtkMenuShell: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:06:49 +0000 (09:06 -0400)]
GtkMenuButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:06:32 +0000 (09:06 -0400)]
GtkMenuBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:04:53 +0000 (09:04 -0400)]
GtkMenu: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:04:33 +0000 (09:04 -0400)]
GtkLinkButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:01:23 +0000 (09:01 -0400)]
GtkLevelBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:00:27 +0000 (09:00 -0400)]
GtkLayout: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:00:05 +0000 (09:00 -0400)]
GtkInfoBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:59:47 +0000 (08:59 -0400)]
GtkIMContext: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:59:33 +0000 (08:59 -0400)]
GtkIconView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:58:57 +0000 (08:58 -0400)]
GtkImage: Use G_PARAM_EXPLICIT_NOTIFY
And make use of the new icon helper API to avoid
redundant notification.
Matthias Clasen [Mon, 9 Jun 2014 12:58:05 +0000 (08:58 -0400)]
GtkIconHelper: Change setters to return success
This makes it easier to avoid redundant notifications in users.
Matthias Clasen [Mon, 9 Jun 2014 12:57:46 +0000 (08:57 -0400)]
GtkHeaderBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:57:30 +0000 (08:57 -0400)]
GtkGrid: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:57:10 +0000 (08:57 -0400)]
GtkGestureSingle: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:56:55 +0000 (08:56 -0400)]
GtkGesturePan: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:56:10 +0000 (08:56 -0400)]
GtkRecentChooserDefault: Adapt to explicit notify
Matthias Clasen [Mon, 9 Jun 2014 12:53:12 +0000 (08:53 -0400)]
GtkRecentChooser: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:48:17 +0000 (08:48 -0400)]
GdkOffscreenWindow: Fill in a few more vfuncs
Mostly to avoid special cases in testcases.
Matthias Clasen [Sun, 8 Jun 2014 16:02:17 +0000 (12:02 -0400)]
GtkEventController: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:56:30 +0000 (08:56 -0400)]
GtkFontButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:59:55 +0000 (11:59 -0400)]
GtkFontButton Trivial cleanup
Replace GTK_PARAM_READABLE|GTK_PARAM_WRITABLE by GTK_PARAM_READWRITE.
Matthias Clasen [Sun, 8 Jun 2014 15:57:47 +0000 (11:57 -0400)]
GtkFontButton: Fix the handling of show-preview-button
We were not storing the value at all, and not notifying.
Matthias Clasen [Sun, 8 Jun 2014 15:58:19 +0000 (11:58 -0400)]
GtkFontChooser: Use G_PARAM_EXPLICIT_NOTIFY for show-preview-entry
Implementors will have to be adjusted.
Matthias Clasen [Sun, 8 Jun 2014 15:57:27 +0000 (11:57 -0400)]
GtkFlowBox: Explicitly notify orientation
Matthias Clasen [Sun, 8 Jun 2014 15:57:13 +0000 (11:57 -0400)]
GtkExpander: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:56:57 +0000 (11:56 -0400)]
GtkEventBox: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:37:00 +0000 (11:37 -0400)]
GtkToggleButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:35:32 +0000 (11:35 -0400)]
GtkMenuItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:35:00 +0000 (11:35 -0400)]
GtkFrame: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:34:28 +0000 (11:34 -0400)]
GtkEntryCompletion: Use G_PARAM_EXPLICIT_NOTIFY
Also, use the setter for text-column, internally.
Matthias Clasen [Sun, 8 Jun 2014 15:33:52 +0000 (11:33 -0400)]
GtkEntryBuffer: Use G_PARAM_EXPLICIT_NOTIFY
Also avoid redundant notification for max-length.
Matthias Clasen [Sun, 8 Jun 2014 15:33:29 +0000 (11:33 -0400)]
GtkEntry: Explicitly notify for populate-all
Matthias Clasen [Sun, 8 Jun 2014 15:33:03 +0000 (11:33 -0400)]
GtkEntry: Don't forget to notify for the tooltip markup props
Matthias Clasen [Sun, 8 Jun 2014 15:31:54 +0000 (11:31 -0400)]
GtkColorChooserWidget: Explicitly notify for use-alpha
Matthias Clasen [Sun, 8 Jun 2014 15:31:37 +0000 (11:31 -0400)]
GtkColorChooserDialog: Explicitly notify for use-alpha
Matthias Clasen [Sun, 8 Jun 2014 15:30:58 +0000 (11:30 -0400)]
GtkColorChooser: Use G_PARAM_EXPLICIT_NOTIFY for use-alpha
Implementors will need to adjust.
Matthias Clasen [Sun, 8 Jun 2014 15:30:37 +0000 (11:30 -0400)]
GtkColorButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:30:12 +0000 (11:30 -0400)]
GtkCheckMenuItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:29:58 +0000 (11:29 -0400)]
GtkCellView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:29:32 +0000 (11:29 -0400)]
GtkCellView: Explicitly notify for orientation
Matthias Clasen [Sun, 8 Jun 2014 15:28:28 +0000 (11:28 -0400)]
GtkCellRendererToggle: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:28:12 +0000 (11:28 -0400)]
GtkCellRendererText: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:27:41 +0000 (11:27 -0400)]
GtkCellRendererSpin: Use G_PARAM_EXPLICIT_NOTIFY
Also avoid redundant notification for ::digits.
Matthias Clasen [Sun, 8 Jun 2014 15:27:00 +0000 (11:27 -0400)]
GtkCellRendererProgress: Use G_PARAM_EXPLICIT_NOTIFY
Also add explicit notification and avoid redundant notification
for some properties.
Matthias Clasen [Sun, 8 Jun 2014 15:26:04 +0000 (11:26 -0400)]
GtkCellRendererCombo: Use G_PARAM_EXPLICIT_NOTIFY
And add explicit notification for some properties.
Matthias Clasen [Sun, 8 Jun 2014 15:25:40 +0000 (11:25 -0400)]
GtkCellRenderer: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sun, 8 Jun 2014 15:24:12 +0000 (11:24 -0400)]
GtkCellAreaBox: Explicitly notify orientation
Matthias Clasen [Sat, 7 Jun 2014 20:40:57 +0000 (16:40 -0400)]
GtkWindow: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:45:14 +0000 (09:45 -0400)]
GtkWindow: Trivial cleanup
Matthias Clasen [Sat, 7 Jun 2014 20:40:31 +0000 (16:40 -0400)]
GtkLabel: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 20:40:09 +0000 (16:40 -0400)]
GtkComboBox: Notify for has-frame and editing-canceled
Matthias Clasen [Sat, 7 Jun 2014 20:39:02 +0000 (16:39 -0400)]
GtkCellEditable: Use G_PARAM_EXPLICIT_NOTIFY
This is an interface property, so all implementors will have
to adjust to this.
Matthias Clasen [Sat, 7 Jun 2014 20:38:34 +0000 (16:38 -0400)]
GtkAppChooserButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:29:09 +0000 (14:29 -0400)]
GtkContainer: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Sat, 7 Jun 2014 18:24:16 +0000 (14:24 -0400)]
GtkWidget: Use G_PARAM_EXPLICIT_NOTIFY
A few properties here are special, and can't benefit from it:
those which are just shorthands, like ::margin and ::expand,
and those that have explicit -set properties, like::hexpand
and ::vexpand.